package com.erdos.upc.service;

import java.util.List;

import com.erdos.common.service.BaseService;
import com.erdos.upc.entity.Privilege;

public interface PrivilegeService extends BaseService<Privilege> {
	
	/**
	 * 完成权限的创建
	 */
	public Long insert(Privilege privilege);
	
	/**
	 * 更新权限
	 */
	
	public void update(Privilege privilege);
	
	/**
	 * 删除权限
	 */
	
	public int delete(Privilege privilege);
	
	/**
	 * 对权限名称进行校验
	 * @param sid
	 * @param name
	 * @return
	 */
	
    public boolean checkName(String sid,String name);
	
    /**
     * 对权限编码进行校验
     * @param sid
     * @param code
     * @return
     */
    
	public boolean checkCode(String sid,String code);
	
	/**
	 * 对权限URL进行校验
	 * @param sid
	 * @param url
	 * @return
	 */
	
	public boolean checkUrl(String sid,String url);
	
	/**
	 * 根据用户主键返回该用户所有过滤掉重复的权限对象集合
	 * @param userSid
	 * @return
	 */
	public List<Privilege> findAllPrivilegeByUserSid(Long userSid);
	
	/**
	 * 删除role privilege 关系
	 * @param privilegeSid
	 * @author sjk
	 * @since  2009-2-26
	 */
//	public void deleteRoleR2Privilege(Long roleSid,Long privilegeSid);
	public void deleteRoleR2Privilege(Long privilegeSid);
	/**
	 * 根据rptId 查询所有privilege
	 * @param rptId
	 * @return Privilege
	 * @author sjk
	 * @since  2009-2-26
	 */
	//public List<Privilege> findByRptId(String rptId);
	public Privilege findByRptId(String rptId);
}
